В функции SetIntent я инициализировал объект inputIntent, как inputIntent, так и emailIntent - это тот же указатель.
Почему obj emailIntent не отображается и отображается «Ошибка»?Почему obj emailIntent null?
Intent emailIntent=null;
Utility.SetIntent(getApplicationContext(),emailIntent, myindex);
if (emailIntent==null){
Toast.makeText(getApplicationContext(),"Error" ,Toast.LENGTH_SHORT).show();
}
public static final String MyIntent=Intent.ACTION_SEND_MULTIPLE;
public static final String MySetType="image/*";
public static void SetIntent(Context mycontext, Intent inputIntent, int index) {
inputIntent = new Intent(MyIntent);
inputIntent.setType(MySetType);
PackageManager pm = mycontext.getPackageManager();
List<ResolveInfo> emailers = pm.queryIntentActivities(inputIntent, 0);
int dbIndex=index-1;
if (
((dbIndex)<= (emailers.size()-1))
&&
((dbIndex)>=0)
)
{
ResolveInfo r = emailers.get(dbIndex);
inputIntent.setClassName(r.activityInfo.packageName, r.activityInfo.name);
Toast.makeText(mycontext,r.activityInfo.packageName+" "+r.activityInfo.name ,Toast.LENGTH_SHORT).show();
}
}
Ну, вы устанавливаете его на нуль, не так ли? 'emailIntent = null;'? – g00dy
показать полный код и журнал, пожалуйста – yushulx
Я должен установить emailIntent = null, если нет, я получу ошибку Локальная переменная emailIntent, возможно, не была инициализирована \t! Но я вызываю функцию Utility.SetIntent для инициализации emailIntent. – HelloCW