我有一个网站,href其中将我重定向到https
<a id="mA" href="javascript:pLogin(2)" class="login-link__link private-cab-link"><i class="icon-user"></i>???????????</a>
Run Code Online (Sandbox Code Playgroud)
所以,我可以通过JavaScript点击它.它适用于chrome控制台
javascript:(function(){document.getElementById('mA').click();})()
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试通过单击我的应用程序按钮在WebView中执行相同操作.
public class RostelecomLoginActivity extends Activity {
WebView webView;
String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.activity_rostelecom_login);
Intent webIntent = getIntent();
String url = webIntent.getStringExtra("url");
webView = (WebView) findViewById(R.id.webView1);
webView.setWebViewClient(new MeWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSaveFormData(true);
webView.getSettings().setSavePassword(true);
webView.loadUrl(url);
Button buttoner = (Button) findViewById(R.id.button1);
buttoner.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
webView.loadUrl("javascript:(function(){document.getElementById('mA').click();})()");
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用MyWebViewClient来允许所有证书
public class MeWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String …Run Code Online (Sandbox Code Playgroud) 我有一个WebView和Button活动.Android sdk 17.网站不是我的,所以无论如何我都无法改变它.我需要通过android按钮点击来执行js代码.
我正在努力做到这一点
public class RostelecomLoginActivity extends Activity {
WebView webView;
String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rostelecom_login);
Intent webIntent = getIntent();
final String url = webIntent.getStringExtra("url");
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSaveFormData(true);
webView.getSettings().setSavePassword(true);
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
webView.addJavascriptInterface(new Object(){
@JavascriptInterface
public void test(){
Log.d("JS", "test");
}
},"Android");
webView.loadUrl("javascript:(function(){document.getElementById('mA').click();})()");
}
});
webView.loadUrl(url);
}}
Run Code Online (Sandbox Code Playgroud)
但它没有做任何事情.我怎么称呼我的js吧?
晚上好.我有android:minSdkVersion="14"
android:targetSdkVersion="16"
我在onCreate方法中有一个NullPointerException:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tain);
mCollectionPagerAdapter = new CollectionPagerAdapter(
getSupportFragmentManager());
final ActionBar actionBar = getActionBar();
//Here is the error
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mCollectionPagerAdapter);
mViewPager.setOnPageChangeListener(
new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
for (int i = 0; i < mCollectionPagerAdapter.getCount(); i++) {
actionBar.addTab(actionBar.newTab()
.setText(mCollectionPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
}
Run Code Online (Sandbox Code Playgroud)
我在其他项目中有一个simillar代码,它工作正常.两个项目中的库版本也是相似的.什么可能导致这个例外,我可以改变什么?
谢谢.
我正在使用HttpClient 向http://www.pgu.donland.ru/php/Login.php发送帖子请求,并希望得到如下响应:
<?xml version="1.0" encoding="utf-8"?><resp status="1" uD="John" UID="2" e=""/>
Run Code Online (Sandbox Code Playgroud)
但不幸的是我一直在:
<?xml version="1.0" encoding="utf-8"?>
<resp status="1" uD="" UID="" e=""/>
这里发生了什么?
我正在使用带有HttpClient客户端字段的自定义类,在我的构造函数中我正在使用这些设置:
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", PlainSocketFactory
.getSocketFactory(), 80));
schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(),
443));
HttpParams params = new BasicHttpParams();
params.setParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, 30);
params.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE,
new ConnPerRouteBean(30));
params.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, false);
params.setParameter("http.socket.timeout", timeout * 1000);
params.setParameter("http.connection.timeout", timeout * 1000);
// params.setParameter("http.connection-manager.timeout", new
// Long(timeout * 1000));
params.setParameter("http.protocol.head-body-timeout", timeout * 1000);
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
ClientConnectionManager cm = new SingleClientConnManager(params,
schemeRegistry);
this.client = new DefaultHttpClient(cm, …Run Code Online (Sandbox Code Playgroud) 晚上好,我有一个简单的任务,两个在两个列表中找到共同的数字.但我有一个疯狂的错误.我傻眼了,因为我无法想象什么可能是错的.
public class Test {
public static List<Integer> same(List<Integer> a1, List<Integer> a2){
List<Integer> lister = new ArrayList<>();
for(int i = 0; i < a1.size() ; i++){
for(int j = 0; j < a2.size(); j++){
System.out.print(a1.get(i) + " vs " + a2.get(j));
if(a1.get(i) == a2.get(j)){
System.out.print("equals");
lister.add(a2.get(j));
}
System.out.println();
}
}
return lister;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();
List<Integer> list1 = new ArrayList<>();
for (int …Run Code Online (Sandbox Code Playgroud) 下午好.
我希望在我的应用中获得多个本地通知,所以我有
在我的Activity中,此方法应将警报设置为17:20,17:21,17:22,但我在17:22只有一个通知.
public void multiplyAlerts(){
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(this, LocalNotification.class);
for(int i = 0; i < 3; i++){
Calendar t_calendar = Calendar.getInstance();
t_calendar.set(Calendar.MONTH, Calendar.DECEMBER);
t_calendar.set(Calendar.YEAR, 2013);
t_calendar.set(Calendar.DAY_OF_MONTH, 12);
t_calendar.set(Calendar.HOUR_OF_DAY, 17);
t_calendar.set(Calendar.MINUTE, 20 + i);
t_calendar.set(Calendar.SECOND, 23);
t_calendar.set(Calendar.AM_PM, Calendar.PM);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
alarmManager.set(AlarmManager.RTC_WAKEUP, t_calendar.getTimeInMillis(),pendingIntent);
System.out.println("Calling Alarm " + i);
}}
Run Code Online (Sandbox Code Playgroud)
本地通知类
public class LocalNotification extends BroadcastReceiver {
NotificationManager nm;
@Override
public void onReceive(Context context, Intent intent) {
nm = (NotificationManager) …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚我的代码有什么问题
char* readString() {
char* result;
char line[SIZE];
if(! fgets(line, sizeof(line), stdin))
fprintf(stderr, "error\n");
//printf 1
printf("line length = %lu\n", strlen(line));
result = line;
return result;
}
int main() {
char* myWord = readString();
unsigned long len = (unsigned)strlen(myWord);
//printf 2
printf("myWord length = %lu\n", len);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果printf1和printf2都没有注释,那么我得到真正的长度.例如,对于单词'hello',我有输出
line length = 6
myWord length = 6
Run Code Online (Sandbox Code Playgroud)
但是,如果我只评论printf1,对于同一个词'你好',我有
myWord length = 16
Run Code Online (Sandbox Code Playgroud) 我在SKScene中有这个代码:
override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!) {
var touch: AnyObject = touches.anyObject()
var point = getPoint(touch.locationInNode(self))
var name = NSStringFromCGPoint(point)
for children in self.children {
if (children as SKSpriteNode).name == name {
println("exist!")
}
}
var tempNode = self.childNodeWithName(name)
}
Run Code Online (Sandbox Code Playgroud)
我看到"存在!" 在日志中,所以在children数组中有一个具有此名称的节点,但 tempNode为nil.该self.childNodeWithName("//" + name)呼叫也返回零.
android ×5
java ×2
javascript ×2
c ×1
char ×1
sknode ×1
sprite-kit ×1
strlen ×1
swift ×1
webview ×1