vid*_*dha 5 android android-sharing
我引用了示例应用程序代码(https://github.com/googlesamples/android-DirectShare),然后将ChooserTargetService添加到了我的应用程序中
public class ShareChooserTargetService extends ChooserTargetService {
@Override
public List<ChooserTarget> onGetChooserTargets(ComponentName targetActivityName,
IntentFilter matchedFilter) {
Log.d("ShareChooserTargetService", "onGetChooserTargets: ");
ComponentName componentName = new ComponentName(getPackageName(),
ShareActivity.class.getCanonicalName());
ArrayList<ChooserTarget> targets = new ArrayList<>();
for (User user : Users.getAll()) {
Bundle extras = new Bundle();
extras.putInt("user_id", user.id);
targets.add(new ChooserTarget(
user.name,
Icon.createWithResource(this, R.mipmap.ic_user),
componentName,
extras));
}
return targets;
}
Run Code Online (Sandbox Code Playgroud)
在清单文件中,我添加了以下几行:
<activity
android:name=".ui.ShareActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<meta-data
android:name="android.service.chooser.chooser_target_service"
android:value=".ShareChooserTargetService" />
</activity>
<service
android:name=".ShareChooserTargetService"
android:label="@string/app_name"
android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
<intent-filter>
<action android:name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)
但是不调用ShareChooserTargetService,不打印日志。我在手机中运行了示例应用程序,它可以正常运行,但是我应用程序中的这些代码无法正常工作。我找不到问题所在。有人可以帮忙吗?
| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |