Articles of android intent

如何在特定日历上打开日历应用程序

我想从Android应用程序打开日历应用程序,但具有特定的calendarId 。 我的代码: final Intent calIntent = new Intent(Intent.ACTION_EDIT); calIntent.setType(“vnd.android.cursor.item/event”); startActivityForResult(calIntent, RESULT_CODE_OPEN); 但是使用上一个日历打开了意图。 我想用他的日历ID打开一个特定的。 我怎样才能做到这一点?

是否弃用了com.google.android.c2dm.intent.REGISTRATION?

简短版本: com.google.android.c2dm.intent.REGISTRATION的目的是否仍然使用或GCM已完全弃用? 更长的版本:谷歌的gcm-demo-client在其filter中声明了这个意图,但是,如果我按照相同的程序,当我调用gcm.register()时,我得到一个有效的注册ID, 然后 ,我的广播接收器收到一个额外的注册ID因为REGISTRATIONfilter,这第二个注册ID是假的(我不能发送任何通知)。 此时,我正在考虑删除REGISTRATIONfilter(并保持RECEIVE ),但我想确保我没有遗漏协议中的重要内容。

将URL中的HTTP参数与Android Intent Filters匹配

我正在尝试将一个intentfilter放在一起,以便在浏览器中访问某个HTML URL时启动我的应用程序。 当它是标准url时,我没有遇到任何问题,例如www.stonyx.com。 但是,我需要将URL与HTTP参数匹配,例如www.stonyx.com/?pagename,它是后面的部分吗? 我在匹配方面遇到了麻烦。 我尝试过使用android:path,android:pathPrefix和android:pathPattern,它们似乎都没有为我做…不确定是不是因为我做错了什么或者是因为它只是因为它是一个php带问号的路径。 任何帮助都非常感谢。 PS这就是我的意图filter目前的样子

在Intent中传递Object引用,而不实现Serializable或Parcelable

我知道有多次问过类似的问题。 我想我读了大部分内容。 但没有一个答案是适用的。 我需要通过Intents(活动调用/广播)传递复杂的对象。 一切都在我的过程中完成。 这就是为什么我认为没有理由将我的对象写入Streams只是为了在几毫秒之后重新组装它们。 我想通过我的应用程序传递我的对象引用。 有没有办法做到这一点。 由于我的应用程序将连续多次广播相同的事件,因此我不能依赖静态成员。 我需要为我播放的内容提供相同的对象。 这就是为什么我在考虑一个静态的“Referenceholder”,它将接受一个Object并返回一个整数,在它的内部列表中标识这个对象,所以我可以通过.putExtras传递这个整数。 但据我所知,Java在添加之后无法从此列表中清除此Object,因为多个Listener可以在同一个对象中进行interess,并且我必须将它保留在我的Referenceholder中(假设一个线程)可以在任何时间恢复 – 甚至2分钟后)。 有任何想法吗? 难道我做错了什么? 或者任何关于如何清理我的引用的想法(可能在几秒钟之后?这可能会导致崩溃,但它似乎比编写无代理地组装和重新组装我的对象的代码更合适)

如何查找使用Intent.ACTION_PACKAGE_REMOVED时已卸载的软件包名称

我有一个应用程序,它保存设备上安装的内部开发应用程序的日志。 安装后,将调用Intent.PACKAGE_ADDED的广播接收器,并使用以下代码记录包名称: public class NewInstallReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle b = intent.getExtras(); int uid = b.getInt(Intent.EXTRA_UID); String[] packages = context.getPackageManager().getPackagesForUid(uid); ApplicationService appService = new ApplicationService(context); appService.ApplicationInstalled(packages); } } 我面临的问题是当使用Intent.PACKAGE_REMOVED的广播接收器时,通过唯一ID(UID)对包的所有引用都会返回空信息(如您已经卸载的那样,正如您所期望的那样)。 我有一个临时解决方案,但它不是很优雅,对于下一个版本,我希望有更清晰的代码。 代码应如何工作的示例: public class RemoveApplicationReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle b […]

OAuth和自定义方案会在Chrome中生成“ERR_UNKNOWN_URL_SCHEME”

我已经被困在这几个小时了,因为之前的事情正在发挥作用,但突然停止了按预期行事。 我真的不知道如何以及为什么因为我一直在重新检查过程中的每一行代码而不能看到什么是错的,所以我要求你们帮忙。 好的。 所以我有一个LoginScreen活动,其中一个按钮在点击时启动一个新的Intent.ACTION_VIEW 。 这将在浏览器中启动OAUTH进程,并将ApiManager.OAUTH_CALLBACK_URI设置为stjapp://oauthresponse 。 这是此活动的AndroidManifest.xml部分: 我如何在我的活动中启动Intent.ACTION_VIEW : private View.OnClickListener loginHandler = new View.OnClickListener() { public void onClick(View v) { OAuthClientRequest request = null; try { request = OAuthClientRequest .authorizationLocation(ApiManager.OAUTH_AUTHORIZE) .setClientId(ApiManager.CLIENT_ID).setRedirectURI(ApiManager.OAUTH_CALLBACK_URI) .buildQueryMessage(); } catch (OAuthSystemException e) { e.printStackTrace(); } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getLocationUri() + “&response_type=code”)); startActivity(intent); } }; 以下是浏览器中发生的事情的屏幕截图: 在那里,我应该回到我的LoginScreen活动并处理onNewIntent方法中的code查询参数但是……是的,事情不再按预期工作了。 任何帮助赞赏。

如何在使用Intent集调用Activity后使getIntent()返回null

这个问题与我原来的问题类似,但我认为有更好的方法来解决问题。 当setIntent后跟一个旋转时,getIntent返回错误的意图 基本上,在扩展FragmentActivity主Activity ,有两个实例,在Fragment中我将Intent传递给此Activity。 这是遇到问题的代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(…); if (getIntent() != null && getIntent().getData() != null) { String data = getIntent().getDataString(); //setIntent(null); setIntent试图解决我的问题,但它无法正常工作。 当我点击一个回到我的Activity作为Intent的链接,然后我转到下一个片段,然后我旋转手机,当我调用getIntent时,两个Fragments之前传递的Intent再次出现时,会发生什么。 所以,当我从Intent中获取数据时,如何设置它以便下一次调用getIntent将返回null? 或者,将Intent中的数据替换为null是否有意义? 我试图避免更新SharedPreferences中的信息来处理这个问题。

Android广播接收器不工作

我试图让广播接收器正常工作。 应该尽可能简单,我有这样的清单: 正如您所看到的,我有一个主要活动mainAct,这只会在启动后发送广播: public class mainAct extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.sendBroadcast(new Intent()); } } 我有一个MyIntentRec类,它尽可能简单: public class MyIntentRec extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.v(“IntentRec”, “got it”); } } 我期望的是,当我启动我的应用程序时,广播被发送并被拾取并且写入了日志条目。 我没有看到日志条目,我没有看到任何错误。 我怀疑在清单中有错误或发送广播。 我刚刚在那里创建了一个空的意图,是否需要对某些属性有一些意图?

从Spotify意图开始一首歌

无论如何从它的URI开始Spotify Track? 我尝试了以下方法,但没有一个工作。 当Spotify打开时,它总是落在播放列表页面,而不是轨道的播放器。 String spotifyTrackURI = “spotify:track:1cC9YJ8sQjC0T5H1fXMUT2”; Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(“com.spotify.mobile.android.ui”); // I’ve tried with Intent#putExtra().. launchIntent.putExtra( SearchManager.QUERY, spotifyTrackURI ); // or with setData launchIntent.setData(Uri.parse(spotifyTrackURI)) context.startActivity(launchIntent); 谢谢

拨号号码没有提示

我正在尝试为Android平台编写一个函数,它允许我在没有任何提示的情况下调用911。 我已经添加了android.permission.CALL_PRIVILEGED权限。 我只需要一个function,只需按下我的选项菜单中的按钮即可拨打911。