<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />


<activity
                android:name=".ui.activities.SplashActivity"
                android:label="@string/app_name"
                android:launchMode="singleTop"
                android:screenOrientation="sensorPortrait"
                android:windowSoftInputMode="adjustResize" >
                <intent-filter>
                    <action android:name="android.intent.action.SEND" />

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

                    <data android:mimeType="*/*" />
                </intent-filter>

                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

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

用于从 Intent 接收数据的代码是
private void initActivityState() {
        if (getIntent() != null){
            runShareActivityIntent();
        }
}
public void runShareActivityIntent(){
        Intent passIntent=getIntent();
        String action = passIntent.getAction();
        String type = passIntent.getType();

        if (Intent.ACTION_SEND.equals(action) && type != null) {
            Uri imageUri = (Uri) passIntent.getParcelableExtra(Intent.EXTRA_STREAM);
            Intent intentcall = new Intent(this, MainActivity.class);
            intentcall.putExtra(KEY_TYPE,type);
            intentcall.putExtra(KEY_VALUE,imageUri.toString());
            startActivity(intentcall);
            finish();
        }

    }

现在,以我为例,当我的应用程序在后台运行时,我可以
String type = passIntent.getType();

最佳答案

这为我工作:

  <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
  <intent-filter>
       <action android:name="android.intent.action.SEND" />
       <category android:name="android.intent.category.DEFAULT" />
       <data android:mimeType="*/*" />
  </intent-filter>

关于android - 从其他应用程序接收数据在android中为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31422233/

10-10 23:32