所以我制作了2个应用程序,我想从另一个应用程序的活动中运行一个应用程序的活动。我可以通过从第一个应用程序传递一个意图来启动第二个应用程序。我们被要求在活动中有一个权限标记来做到这一点,哪些有效。但它唯一不起作用的情况是当我尝试运行第二个应用程序活动时(我正在谈论的那个)。我知道它运行是因为我设置的权限,但我只是想知道有没有办法继续运行第二个应用程序的主要活动,而不是从另一个应用程序运行它。
第一个应用清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lab08a_awahla"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="com.example.DANGEROUS_ACTION" />
<permission
android:name="com.example.DANGEROUS_ACTION"
android:label="perimission"
android:protectionLevel="dangerous" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.lab08a_awahla.MainActivity"
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>
第一个应用程序java代码:
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void clicking(View view){
Intent i=new Intent();
i.setAction("com.example.DANGEROUS_ACTION");
startActivity(i);
}
}
第二个应用清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lab08b_awahla"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="com.example.DANGEROUS_ACTION" />
<permission
android:name="com.example.DANGEROUS_ACTION"
android:label="perimission"
android:protectionLevel="dangerous" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.lab08b_awahla.MainActivity"
android:label="@string/app_name"
android:permission="com.example.DANGEROUS_ACTION" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.example.DANGEROUS_ACTION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
所以我可以从第一个应用程序活动启动活动,但第二个应用程序活动不会在其上启动。我认为这是因为活动下的权限标签。当我在我的设备上安装它时,它说“app not not installed”。如果有人可以帮助我,我会非常感激。谢谢
答案 0 :(得分:0)
除非您从第二个应用的主要活动中删除android:permission="com.example.DANGEROUS_ACTION"
,否则您无法自行启动该应用。因为根据您的清单文件,主屏幕应用程序需要android:permission="com.example.DANGEROUS_ACTION"
权限才能启动应用程序,这在您的情况下是错误的。