phc*_*aze 10 java android share
我成功将我的应用添加到Android图库的"分享"按钮中,因此如果我点击它,我的应用就会启动.我可以选择启动应用的哪个活动吗?现在它开始了"主要".这是我在主类中的代码:
.....
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String action = intent.getAction();
// if this is from the share menu
if (Intent.ACTION_SEND.equals(action)) {
if (extras.containsKey(Intent.EXTRA_STREAM)) {
// Get resource path
}
}
Run Code Online (Sandbox Code Playgroud)
并且清单:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
实际上,我在"主要"开始后立即开始了一项新活动,但我更愿意直接打开正确的活动.谢谢
jau*_*ard 25
将您的意图过滤器置于要开始进入清单的活动之下
<activity android:name=".Theme"
android:label="MAIN">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Theme"
android:label="ActiVITY2">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
如果你有你的清单文件中的两个活动,说Main和MediaShare那看起来是这样的:
<activity android:name="Main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="MediaShare" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
该android.intent.action.SEND动作和android:mimeType="image/*"数据应与你想,当你分享一张图片开始活动去了.
有关详细信息,请参阅从其他应用程序接收内容页面.
| 归档时间: |
|
| 查看次数: |
9592 次 |
| 最近记录: |