从另一个应用程序的活动推出,但其对未启动时,Android应用程序的活动启动。(Android ap

2019-08-20 04:35发布

所以,我提出2个应用程序,我想从其他应用程序的运行活动的一个应用程序的活动。 我可以从第一个应用程序传递一个意图开始第二应用做到这一点。 我们被要求在活动许可标记,做到这一点,它的工作原理。 但它不工作的唯一情况是,当我尝试运行第二应用的活动(这是一个即时通讯谈论)。 我知道这doenst因为我设置的权限运行,但我只是想知道有没有办法在其上,而再从另一个应用程序运行它仍运行第二个应用程序的主要活动。

第一个应用程序清单文件:

<?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>

这样我就可以从第一个应用程序的活动,但第二个应用程序活动启动活动在其上不启动。 我认为,因为在活动许可标记,它的。 当我在我的设备上安装它说:“应用程序未安装”。 如果有人能帮助我做这事,我真的很感激它。 谢谢

Answer 1:

除非你摆脱的android:permission="com.example.DANGEROUS_ACTION"从第二个应用程序的主要活动,你不能发动自己的应用程序。 因为按你的清单文件,主屏幕上的应用程序需要有android:permission="com.example.DANGEROUS_ACTION"权限启动应用程序,它是在你的情况下错误的。



文章来源: Android app activity launches when launching from another app activity but doesn't launch on its on.