指定包名称以调用此应用程序

时间:2016-11-17 09:40:57

标签: android android-intent

我的应用AndroidManifest.xml

 <activity
    android:name="com.test.orc.IdentifyIdcards"
    android:screenOrientation="landscape" >
      <intent-filter>
                    <action android:name="com_test_orc_IdentifyIdcards" />

                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>

所以任何应用都可以通过

来调用我的应用
Intent intent = new Intent();
intent.setAction("start_photo_identify_picture_activity");
startActivity(intent); 

但我只限制包名com.test.idcard可以调用我的应用,怎么做?

2 个答案:

答案 0 :(得分:1)

您需要在清单上指定<permission>,特别是您需要

  

机器人:的ProtectionLevel = “签名”

Read more here: https://developer.android.com/guide/topics/manifest/permission-element.html

答案 1 :(得分:0)

您必须更改他们启动您的应用的方式。如果他们通过startActivityForResult致电您的应用并启动您的应用,则可以使用getCallingActivity()让来电者使用,并且您可以拥有包名。