我试图在我的播放器应用中创建一个主屏幕快捷方式,该快捷方式将触发特定直播流的播放,而无需打开活动。 不幸的是,这不起作用......
ShortcutManager sM = c.getSystemService(ShortcutManager.class);
Intent intent2 = new Intent(c.getApplicationContext(), APPBroadcastReceiver.class);
intent2.setAction("toggle_intent");
intent2.putExtra("id", 1);
ShortcutInfo shortcut2 = new ShortcutInfo.Builder(c,MSG_SHORCUT_CUSTOM)
.setIntent(intent2)
.setShortLabel("ShortLabel")
.setLongLabel("LongLaber")
.setDisabledMessage("DisabledMessage")
.setIcon(Icon.createWithResource(c, R.mipmap.ic_add_outline_short))
.build();
listshortcut.add(shortcut2);
Intent pinnedShortcutCallbackIntent = mShortcutManager.createShortcutResultIntent(shortcut2);
PendingIntent successCallback = PendingIntent.getBroadcast(context, 0, pinnedShortcutCallbackIntent, 0);
mShortcutManager.requestPinShortcut(pinShortcutInfo, successCallback.getIntentSender());
创建了短片,但是当我按下它时我得到的是“未安装应用程序”#39; 只要我通过活动替换我的Receiver类,活动就会打开。
是否可以触发从主屏幕快捷方式打开活动的自定义意图?
答案 0 :(得分:2)
不直接。据我所知,应用程序快捷方式只能指向groupBy
。但是可以制作一个非常简短的Activities
,只需将Activity
转发给您的Intents
:
BroadcastReceiver
特别是,public class IntentForwardActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent broadcastIntent = new Intent(getIntent());
broadcastIntent.setClassName(getApplicationContext(), APPBroadcastReceiver.class);
sendBroadcast(broadcastIntent);
finish();
}
}
不需要布局或致电Activities
。