对于我正在构建的应用程序,我希望用户能够在启动应用程序时长按该图标。然后,这将为用户显示具有不同选项的菜单。这可能吗?在讨论菜单时,我查看了开发人员页面并看到了ActionMode.Callback接口。这适用于应用程序图标而不是应用程序本身吗?
感谢。
我试图让它工作,但我没有在哪里,所以我决定尝试从上下文菜单中访问不同的应用程序。 context_home案例不起作用。能否请你帮忙。
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info;
try {
info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
} catch (ClassCastException e) {
Log.e(TAG, "bad menuInfo", e);
return false;
}
Uri noteUri = ContentUris.withAppendedId(getIntent().getData(), info.id);
switch (item.getItemId()) {
case R.id.context_open:
startActivity(new Intent(Intent.ACTION_EDIT, noteUri));
return true;
case R.id.context_copy:
ClipboardManager clipboard = (ClipboardManager)
getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setPrimaryClip(ClipData.newUri(getContentResolver(),"Note",noteUri));
return true;
case R.id.context_delete:
getContentResolver().delete(noteUri,null, null);
return true;
case R.id.context_home:
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("project,android.project");
startActivity(intent);
return true;
default:
return super.onContextItemSelected(item);
}
}
答案 0 :(得分:4)
使用App Shortcuts(从API级别25开始)。
AndroidManifest.xml
使用已定义的快捷方式添加对资源的引用:
<meta-data android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
在引用文件中定义快捷方式:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="compose"
android:enabled="true"
android:icon="@drawable/compose_icon"
android:shortcutShortLabel="@string/compose_shortcut_short_label1"
android:shortcutLongLabel="@string/compose_shortcut_long_label1"
android:shortcutDisabledMessage="@string/compose_disabled_message1">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapplication"
android:targetClass="com.example.myapplication.ComposeActivity" />
<!-- If your shortcut is associated with multiple intents, include them
here. The last intent in the list determines what the user sees when
they launch this shortcut. -->
<categories android:name="android.shortcut.conversation" />
</shortcut>
<!-- Specify more shortcuts here. -->
</shortcuts>
答案 1 :(得分:1)
如果您的应用程序针对Android 7.1(API级别25)或更高版本,则可以定义应用程序中特定操作的快捷方式。
答案 2 :(得分:0)
你做不到。你无法控制发射器。