Tag: intentfilter

尝试从URI启动时,“导出的活动不需要许可”

我试图从一个URI使用这个SO问题作为参考启动一个Android应用程序。 我有一个清单文件与以下声明的活动: <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <data android:scheme="http" android:host="example.com" /> </intent-filter> </activity> 我正尝试使用http://example.com链接启动MainActivity。 我的问题是我得到警告 "exported activity does not require permission" 我看过其他的SO问题,报告这个相同的警告,所有的解决scheme似乎并没有工作。 如何正确编写活动意图filter以避免警告? 谢谢

Android中的意图filter是什么?

在我的android应用程序中,我想从最初的活动“A”开始一个活动“B”。 我已经创build了这两个类。 但是,当使用以下代码启动B时,出现运行时错误: application has stopped unexpectedly, try again 。 这是我的代码: Intent myIntent = new Intent(this, AddNewActivity.class); startActivity(myIntent); 当我在AndroidManifest.xml/manifest/application/activity/intent-filers为活动B添加一个新条目时,应用程序就可以工作了。 我有两个问题: 当AndroidManifest.xml有多个活动条目时,android如何知道首先启动哪个活动? 我无法理解意图filter。 任何人都可以请解释。 这是我的部分AndroidManifest.xml <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ListAllActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".AddNewActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>

有什么办法从偏好向额外的意图?

嗨,我从偏好屏幕启动活动。 活动由三个偏好共享。 我不知道我是否可以在xml中为这个活动设置额外的 <Preference android:key="action_1" android:title="@string/action_1_title" > <intent android:action="com.package.SHAREDACTION" > </intent> </Preference> 我不知道我能不能做点什么 <extras> <item android:name="" android:value=""/> </extras> 我所需要做的只是传递一个整数。 我可以采取不同的行动,并检查行动,而不是额外的。

广播接收者登记清单与活动

我需要一些帮助来了解什么时候我可以期待我的广播接收机在刚刚在清单中注册的时候工作,而不必从正在运行的活动或服务注册。 因此,例如,如果我注册一个独立的接收器与以下意图filter它的作品没有一个服务/活动引用: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.blk_burn.standalonereceiver" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <uses-permission android:name="android.permission.WAKE_LOCK"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <receiver android:name="TestReceiver"> <intent-filter> <action android:name="android.media.AUDIO_BECOMING_NOISY"/> </intent-filter> </receiver> </application> </manifest> 但是,如果我用android.media.AUDIO_BECOMING_NOISYreplaceandroid.media.AUDIO_BECOMING_NOISY接收器不会被触发( Android文档 ) 从我在这个网站上发现的,你必须注册这个接收器从一个已经运行的活动或服务( 邮政 )。 任何人都可以告诉我为什么这不起作用,当调整清单中的意图filter,为什么你需要有一个服务运行在后台引用/注册接收器? 有没有解决办法,以便我可以注册我的接收器在我的应用程序的清单使用intentfilterandroid.intent.action.HEADSET_PLUG ? 我怎么能从android文档中识别哪些广播操作需要服务或活动注册,而不是在清单中有正确的filter?

Android短信接收器不工作

我试图编写一个简单的应用程序,试图接收短信和处理它们。 我遵循了几个教程,但是我无处可去,当我发送短信到模拟器时,Intent似乎从未被解雇。 这是我的意图: package com.neocodenetworks.smsfwd; import android.content.*; import android.os.Bundle; import android.telephony.*; import android.util.Log; public class SmsReciever extends BroadcastReceiver { private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; private static final String TAG = "smsfwd"; @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, "Intent recieved: " + intent.getAction()); if (intent.getAction() == SMS_RECEIVED) { Bundle bundle = […]

如何检查是否可以从某些活动处理意图?

到目前为止,我有这个方法,但是就像缺less某些东西一样 例如我有一个文件/ SD卡/声音.3ga,返回false(就像没有活动,可以处理这种types的文件),但是当我从文件pipe理器打开它与媒体播放器没有问题 我认为这个意图不是完整的,我需要更多的东西来确保handlerExistsvariables只有在没有可以处理这个意图的活动 PackageManager pm = getPackageManager(); Intent intent = new Intent(android.content.Intent.ACTION_VIEW); String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uriString)).toString()); String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); intent.setDataAndType(Uri.fromFile(new File(uriString)),mimetype); boolean handlerExists = intent.resolveActivity(pm) != null;

无法启动服务意图

我有一个服务class。 我已经将这个类导出到jar,我已经在我的客户端应用程序中embedded了jar。 需要时,我打电话给服务class。 当我尝试这样做时,出现以下错误: Unable to start service Intent {comp={com.sample.service/com.sample.service.serviceClass}} : not found 除了服务类以外,我还有其他类,我可以访问(创build该类的对象),它们位于同一个jar中。 我觉得我已经错过了我的configuration或清单中的一些东西。 请帮我确定一下。 我的代码如下: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent () ; intent.setClassName("com.sample.service" ,"com.sample.service.serviceClass") ; this.startService(intent) ; // when I call this line I get the message… // binding other process continue here } 客户端manifest.xml <service android:name="com.sample.service.serviceClass" […]

“android.intent.category.DEFAULT”的目的是什么?

在意图filter的类别字段中提供“android.intent.category.DEFAULT”的目的是什么? 这是什么意思?

通过Android上的Intentselect任何types的文件

我想开始一个可以返回任何types的文件的应用程序的intentchooser 目前我使用(我从Android电子邮件源代码复制的文件附件) Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); Intent i = Intent.createChooser(intent, "File"); startActivityForResult(i, CHOOSE_FILE_REQUESTCODE); 但它只在我的Galaxy S2上显示“Gallery”和“Music player”。 这个设备上有一个文件浏览器,我希望它出现在列表中。 我也希望相机应用程序显示在列表中,以便用户可以拍摄照片并通过我的应用程序发送。 如果我安装Astro文件pipe理器,它也会响应这个意图。 我的客户只是Galaxy SII的所有者,我不想强​​迫他们安装Astro文件pipe理器,因为他们已经有了一个基本但足够的文件pipe理器。 任何想法,我怎么能做到这一点? 我很确定,我已经看到默认文件pipe理器出现在这样的菜单中select一个文件,但我不记得在哪个应用程序。

从Android浏览器/ Chrome启动自定义Android应用程序

首先,我和这个问题是非常相似的。 我想要实现的Android文档就在这里 。 我无法得到这个工作使用这些资源,所以请不要标记为重复,因为它不是。 我有一个网站和一个Android应用程序。 用户将能够扫描包含http://mywebsite.com/map/等链接的QR码。 当用户试图打开这个链接时,我希望Android向他展示一个select器对话框,他可以select使用我的应用程序打开该链接。 如果我的应用程序没有安装,它应该进入指定的网站。 我知道当用户导航到该地址时,Chrome浏览器允许通过打开select器对话框。 例如,请尝试下载Stack Exchange应用程序 ,然后在Chrome中转到此问题。 它会显示这个: 在上述答案中的build议之后,我在AndroidManifest.xml中添加了以下代码: <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="mywebsite.com" android:path="/map" android:scheme="http" /> <data android:host="mywebsite.com" android:path="/animals" android:scheme="http" /> <data android:host="mywebsite.com" android:path="/articles" android:scheme="http" /> </intent-filter> 此外,我已经尝试添加android:mimeType =“text / plain”到数据,但它没有帮助。 问题是,当我去http://mywebsite.com/map或http://mywebsite.com/map/ Chrome只是打开网页,而不显示select器对话框。 我想提一下: 遵循Android文档,我在AndroidManifest.xml的一个活动结构中添加了这个代码。 因为我不确定这是不是完美的地方添加它,我也尝试将其添加到应用程序结构之外,直接在应用程序结构中,但它没有工作 这是我为此工作的唯一代码。 如果需要其他东西,请告诉我。 据我所知,只有在使用自定义模式时才需要在网页中添加href […]