我有一个Service
,它在字符串变量中获取一个类名,并使用以下代码传递给sharedpreferences:
settings.edit().putString("class", activityClass).commit();
`
该服务然后启动我的passprompt活动,该活动需要读取String并启动存储在其中的活动。
try {
SharedPreferences settings = getApplicationContext().getSharedPreferences("data", Context.MODE_PRIVATE);
String c = settings.getString("class", "null");
Intent newIntent= new Intent(passprompt.this, Class.forName(c));
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(newIntent);
}
catch (ClassNotFoundException e) {
}
但预期的活动未按预期启动
答案 0 :(得分:0)
你可以试试这个,
如果您的应用中有此活动 获取完全限定的Activity类名称,并将其置于intent中,如下所示,
Intent newIntent= new Intent(Passprompt.this, Class.forName("your activity class name")));
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(newIntent);
如果这是另一个应用程序中的活动
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("packagename", "packagename.launh_activity_name"));
startActivity(intent);